Dynamically mediating multimedia content and devices

ABSTRACT

A mediator having at least a ranking component, a listening component, and a control component, selectively controls a group of devices from a plurality of network devices in a network environment to reproduce multimedia content. The mediator correlates the multimedia content with the plurality of network devices. The listening component collects data about the network environment to enhance a user&#39;s experience with the multimedia content. The mediator utilizes the network environment data and the correlation of the multimedia content and the plurality of network devices to automatically select the group devices from the plurality of network devices that maximize a user&#39;s viewing or listening pleasure when reproducing the multimedia content on the group of devices.

CROSS-REFERENCE TO RELATED APPLICATION

Not applicable.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

FIELD OF THE INVENTION

Embodiments of the present invention relates generally to the field ofcontent delivery. More specifically, embodiments of the presentinvention provide a mediation service to select a device well suited topresent the content, such that a user's experience of the content ismaximized.

BACKGROUND OF THE INVENTION

Currently, when a new computer having a unique configuration isintroduced to a network of computers, often the new computer can notcommunicate with other computers on the network without a lengthy andtedious configuration process, where a developer creates specializedscripts that enable the new computer to communicate with the othercomputers on the network. Additionally, after the new computer isconfigured to communicate with other computers, a device configurationin the new computer is usually static. For example, when the newcomputer is configured, using wires, to send an audio signal to a pairof speakers connected to a speaker output jack of the new computer, theconnection will remain constant until the device configuration ischanged by a user. If an external speaker that is not connected to thenew computer is better suited to process the audio signal, the newcomputer will not send the audio signal to the external speaker becausethe device configuration does not enable the new computer to communicatewith the external speaker. Accordingly, a user has to manually changethe device configuration to utilize the external speaker.

Therefore, a need arises to provide a service that allows computers todynamically communicate with devices without requiring a developer tocreate specialized scripts or to manually configure the devices.Moreover, it would be advantageous for the service to allow computershaving different formats to freely exchange content to maximize a user'sexperience in a network environment by efficiently utilizing devicesthat enhance the user's experience.

SUMMARY OF THE INVENTION

These and other problems, in the art, are solved by a mediator thatprovides a mediation service to maximize a user's experience in anetwork environment by determining a best-fit match between content anda plurality of devices in the network environment.

The mediator includes at least a ranking component, a listeningcomponent, and a control component. The ranking component assignsvalues, indicating importance, to the content and the plurality ofdevices. The listening component collects information about deviceofferings, from the plurality of devices; collects information aboutcontent preferences, from either content metadata or a device storingthe content; and collects information about changes in the networkenvironment. The control component specifies the level of userinvolvement, which is default to no user involvement. The mediatorutilizes the information provided by the control, listening and rankingcomponents to automatically select a group of suitable devices from theplurality of devices to reproduce the content.

Also, the mediator may provide an arbitration component to resolvedevice conflicts. The arbitration component includes a set of rules thatevaluates the device offerings provided by the plurality of devices orthe values assigned to the plurality of devices when resolving deviceconflicts.

The network environment includes a plurality of devices capable ofcommunicating wirelessly. A first communication device of the pluralityof devices receives streaming content from a content source andreproduces the content. A second communication device of the pluralityof devices receives content different from the content of the firstcommunication device and reproduces the different content. When thefirst communication device comes into proximity with the secondcommunication device a mediator is initiated to determine whether thecontent being reproduced by the first communication device should takeprecedence over the different content being reproduced on the secondcommunication device.

The mediator determines a best-fit match between content and a pluralityof devices in the network environment by mining for relationshipsbetween content and the plurality of devices. The method for miningrelationships includes receiving content information, receiving deviceinformation, and correlating the content information and the deviceinformation. The relationships discovered include content-content,relationships between different content, content-device, relationshipsbetween a device and content, and device-device relationships,relationships between different devices, are stored by the mediator tofacilitate quicker communication between the plurality of devices.

Additional advantages and novel features will be set forth in thedescription which follows and in part may become apparent to thoseskilled in the art upon examination of the following or may be learnedby practice of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that illustrates a computing environmentadapted to implement the present invention.

FIG. 2 is a network schematic of an embodiment of the present inventionthat illustrates a plurality of network devices in communication with amediator;

FIG. 3 is a component diagram of another embodiment of the presentinvention that illustrates a plurality of components that provide thefunctionality of the mediator of FIG. 2;

FIGS. 4A and 4B are flow diagrams of embodiments of the presentinvention that illustrates a method to determine best-fit matches, and amethod to reproduce content;

FIGS. 5A and 5B are flow diagrams of embodiments of the presentinvention that illustrates a method to resolve device contention and amethod to resolve content contention;

FIG. 6 is a network schematic that illustrates a network environmentthat provides a dynamic user interface to control devices in the networkenvironment;

FIG. 7 is a network schematic that illustrates a network environmentincluding a blind device, external speakers and a wide screen televisionhaving internal speakers that utilizes the functionality provided by themediator of FIG. 2;

FIG. 8 is a network schematic that illustrates a network environmentthat streams content to a plurality of network devices; and

FIG. 9 is network schematic that illustrates how the network environmentof FIG. 8 responds to a new device joining the network.

DETAILED DESCRIPTION OF EMBODIMENTS

The present invention provides a mediator to efficiently conductcommunication between various devices. The mediator enables acommunication network that transports content, including video andaudio, to efficiently utilize devices based on device offerings andcontent preferences. In one embodiment of the present invention, thedevices are capable of communicating wirelessly and include devices suchas smart phones, speakers, lights, projectors, laptops, monitors,personal digital assistants, etc. These devices are utilized such that auser's experience with the content is maximized.

FIG. 1 is a block diagram that illustrates a computing environmentadapted to implement the present invention. The computing systemenvironment 100 is only one example of a suitable computing environmentand is not intended to suggest any limitation as to the scope of use orfunctionality. Neither should the computing environment 100 beinterpreted as having any dependency or requirement relating to any oneor combination of components illustrated in the exemplary operatingenvironment 100.

The present invention is operational with numerous other general purposeor special purpose computing system environments or configurations.Examples of well known computing systems, environments, and/orconfigurations that may be suitable for use with the invention include,but are not limited to, personal computers, server computers, hand-heldor laptop devices, multiprocessor systems, microprocessor-based systems,set top boxes, programmable consumer electronics, network PCs,minicomputers, mainframe computers, distributed computing environmentsthat include any of the above systems or devices, and the like.

The present invention may be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computer. Generally, program modules include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Thepresent invention may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed computingenvironment, program modules may be located in both local and remotecomputer storage media including memory storage devices.

With reference to FIG. 1, an exemplary system for implementing thepresent invention includes a general purpose computing device in theform of a computer 110. Components of computer 110 may include, but arenot limited to, a processing unit 120, a system memory 130, and a systembus 121 that couples various system components including the systemmemory to the processing unit 120. The system bus 121 may be any ofseveral types of bus structures including a memory bus or memorycontroller, a peripheral bus, and a local bus using any of a variety ofbus architectures. By way of example, and not limitation, sucharchitectures include Industry Standard Architecture (ISA) bus, MicroChannel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, Peripheral ComponentInterconnect Express (PCI Express) and Peripheral Component Interconnect(PCI) bus also known as Mezzanine bus.

Computer 110 typically includes a variety of computer readable media.Computer readable media can be any available media that can be accessedby computer 110 and includes both volatile and nonvolatile media,removable and non-removable media. By way of example, and notlimitation, computer readable media may comprise computer storage mediaand communication media. Computer storage media includes volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information such as computer readableinstructions, data structures, program modules or other data. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CD-ROM, digital versatile disks (DVD)or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canaccessed by computer 110. Communication media typically embodiescomputer readable instructions, data structures, program modules orother data in a modulated data signal such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, RF, infrared and otherwireless media. The wireless communication media may be networks such asfor example, Bluetooth or 802.11 networks. Combinations of the any ofthe above should also be included within the scope of computer readablemedia.

The system memory 130 includes computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) 131and random access memory (RAM) 132. A basic input/output system 133(BIOS), containing the basic routines that help to transfer informationbetween elements within computer 110, such as during start-up, istypically stored in ROM 131. RAM 132 typically contains data and/orprogram modules that are immediately accessible to and/or presentlybeing operated on by processing unit 120. By way of example, and notlimitation, FIG. 1 illustrates operating system 134, applicationprograms 135, other program modules 136, and program data 137.

The computer 110 may also include other removable/non-removable,volatile/nonvolatile computer storage media. By way of example only,FIG. 1 illustrates a hard disk drive 140 that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive 151that reads from or writes to a removable, nonvolatile magnetic disk 152,and an optical disk drive 155 that reads from or writes to a removable,nonvolatile optical disk 156 such as a CD ROM or other optical media.Other removable/non-removable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disks, digital video tape, solid state RAM, solidstate ROM, and the like. The hard disk drive 141 is typically connectedto the system bus 121 through an non-removable memory interface such asinterface 140, and magnetic disk drive 151 and optical disk drive 155are typically connected to the system bus 121 by a removable memoryinterface, such as interface 150.

The drives and their associated computer storage media discussed aboveand illustrated in FIG. 1, provide storage of computer readableinstructions, data structures, program modules and other data for thecomputer 110. In FIG. 1, for example, hard disk drive 141 is illustratedas storing operating system 144, application programs 145, other programmodules 146, and program data 147. Note that these components can eitherbe the same as or different from operating system 134, applicationprograms 135, other program modules 136, and program data 137. Operatingsystem 144, application programs 145, other program modules 146, andprogram data 147 are given different numbers here to illustrate that, ata minimum, they are different copies. A user may enter commands andinformation into the processing unit 120 through input devices such as akeyboard 162 and pointing device 161, commonly referred to as a mouse,trackball or touch pad. Other input devices (not shown) may include amicrophone, joystick, game pad, satellite dish, scanner, or the like.These and other input devices are often connected to the processing unit120 through a user input interface 160 that is coupled to the systembus, but may be connected by other interface and bus structures, such asa parallel port, game port or a universal serial bus (USB). A monitor191 or other type of display device is also connected to the system bus121 via an interface, such as a video interface 190. In addition to themonitor, computers may also include other peripheral output devices suchas speakers 197 and printer 196, which may be connected through anoutput peripheral interface 190.

The computer 110 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer180. The remote computer 180 may be a personal computer, a server, arouter, a network PC, a peer device or other common network node, andtypically includes many or all of the elements described above relativeto the computer 110, although only a memory storage device 181 has beenillustrated in FIG. 1. The logical connections depicted in FIG. 1include a local area network (LAN) 171 and a wide area network (WAN)173, but may also include other networks, such as wireless networks.Such networking environments are commonplace in offices, enterprise-widecomputer networks, intranets and the Internet.

When used in a LAN networking environment, the computer 110 is connectedto the LAN 171 through a network interface or adapter 170. When used ina WAN networking environment, the computer 110 typically includes amodem 172 or other means for establishing communications over the WAN173, such as the Internet. The modem 172, which may be internal orexternal, may be connected to the system bus 121 via the user inputinterface 160, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 110, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 1 illustrates remoteapplication programs 185 as residing on memory device 181. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused.

FIG. 2 is a network schematic of an embodiment of the present inventionthat illustrates a plurality of intelligent network devices 212-214 and220-224 in communication with a mediator 230.

With reference to FIG. 2, a network 200 includes the mediator 230, acontent cloud 210, a content database 211, content devices 212-214 anddevices 220-224.

The mediator 230 enables the network devices 212-214 and 220-224 tocommunicate with each other without pre-configuring each device. Themediator 230 is discussed in more detail with reference to FIG. 3.

The content cloud 210 represent a content source such as the Internet,where content exists at various locations across the globe. The contentincludes multimedia content such as audio and video. The mediator allowsthe content cloud 210 to provide content to devices 220-224.

The content database 211 is a storage device that maintains content. Thecontent database 211 may be a stand-alone device on an externalcommunication network. The mediator 230 communicates with the contentdatabase 211 to access and retrieve content.

The content devices 212-214, include intelligent devices, such as, forexample, personal computers, laptops and personal digital assistants.The content devices 212-214 are capable of storing content information.

The devices 220-224 are intelligent devices that receive content from acontent source 210-214. Here, the devices 220-224 are operating asclient devices and receive content stored on a content source 210-214.However, the devices 220-224 can also operate as servers to distributecontent to other client devices.

In another embodiment of the present invention, the network 200 may be anetwork environment that includes non-intelligent devices.

FIG. 6 is a network schematic that illustrates a network environment 600that provides a dynamic user interface device 640 to control devices610-630 in the network environment 600. The mediator 230 wirelesslycommunicates with the dynamic user interface device 640 and devices610-630 to provide a content list and device list on the dynamic userinterface device 640.

The devices 610-630 include, light devices 610, proxy devices 611, blinddevices 620 and display devices 630. The light devices 610 and the blinddevices 620 are non-intelligent devices and the display devices 630 andthe dynamic user interface device 640 are intelligent devices. Thedisplay devices 630 may include projectors, monitors, wide screentelevisions, laptops, etc. The dynamic user interface device 640 mayinclude portable devices such as, personal digital assistants, cellphones, etc. The light devices 610 and blind devices 620 control theambient light in the network environment 600. The proxy devices 611provide information about the non-intelligent devices' status andcapabilities to the mediator 230, collect environment information, andreceive commands from the dynamic user interface device 640 to controlthe non-intelligent devices 610 and 620.

FIG. 7 is a network schematic that illustrates a network environment 700including a blind device 620, external speakers 720 and a wide screentelevision 710 having internal speakers 715 that utilize thefunctionality provided by the mediator 230 of FIG. 2. The externalspeakers 720 and internal speakers 715 reproduce audio content. The widescreen television 710 reproduces video content. The external speakers720, internal speakers 715, blind device 620 and wide screen television710 communicate wirelessly to determine optimal operating conditions forcontent currently reproduced by wide screen television 710, externalspeakers 720 and internal speakers 715. For example, the mediator 230may determine that the wide screen television 710 is reproducingcontent, such as, for example a horror film, that prefers a darkenvironment. Accordingly the mediator 230 may reduce ambient light bycommunicating with a proxy device 611 to close the blind 620.

FIG. 3 is a component diagram of another embodiment of the presentinvention that illustrates a plurality of components 310-340 thatprovide the functionality of the mediator 230 of FIG. 2.

The mediator 230 includes a ranking component 310, a listening component320, an arbitration component 330 and a control component 340.

The ranking component 310 assigns values, indicative of importance, tocontent or to a device sending or receiving the content. The values maybe assigned based on business rules or relevancy. The business rules maydefine which devices have priority when multiple devices are attemptingto distribute content to a common device. For example, a door belldevice sending a notification to a display device may take priority overa movie streaming on the display device depending on the time of day.

The listening component 320 collects information from the content andthe devices. The information collected from the content may includemetadata such as R-G-B values, author, size, optimal display and audiosettings, etc. The device information may include attributes describingdevice offerings and capabilities, such as stereo, color, location, sizeof display, etc.

The arbitration component 330 resolves device or content conflicts. Thearbitration component 320 utilizes the values assigned to the contentand devices to decide which content is reproduced and which devices areutilized to reproduce the content. The arbitration component 330 may beconfigured to remedy device conflicts or content conflicts, or both.

The control component 340 specifies the level of user involvement forthe mediator. This enables the mediator to either run automatically,with no user intervention, or to interact with the user to makedecisions of where and how to reproduce the content.

It should be noted that the mediator might be mobile code distributedacross the network. Each network device may run a mediator agent thatimplements one or more of the components described above. The mediatormay also be part of the content.

FIGS. 4A and 4B are flow diagrams of embodiments of the presentinvention that illustrate a method to determine best-fit matches, and amethod to reproduce content.

With reference to FIGS. 4A, a mediator determines best-fit matches,which may be one or more devices in a network environment. The mediator,in S410, collects device data, which include attributes that describethe capabilities of each device, from the one or more devices in thenetwork environment. In an alternate embodiment of the presentinvention, the device data is limited to a subset of the devices in thenetwork environment. Device capabilities may describe the operationalfeatures of the device, which include information about optimaloperating conditions, such a lighting information, volume information,etc. After receiving the device data, the mediator collects contentdata, in S411, which includes content metadata. The content data mayinclude audio and video information, and the content metadata maydescribe optimal display and audio settings for reproducing the content,etc. The mediator, in S412-S413, aggregates and correlates the deviceand content data. The correlation enables the mediator to determinewhere to reproduce the content data. In S411, environment data, such as,for example, time of day, temperature, ambient light conditions, etc. iscollected by the mediator. Using the environment data and thecorrelation data the mediator is able to dynamically select, best-fitmatches, devices that are suitable to reproduce the content. Therefore,the mediator maximizes a user's experience by automatically adjustingdevice conditions to create a suitable audio and video experience forthe user. The process ends in S415.

With reference to FIG. 7, the network environment 700 may implement themethod of FIG. 4A to determine which set of speakers 715 or 720 aresuitable to reproduce audio content. A mediator collects device data,which includes information about the blind devices 620, the wide screentelevision 710, the internal speakers 715 and the external speakers 720.A content source, such as, for example, a set-top box, may provide themediator with content data. The content data and device data areaggregated and correlated to determine where to reproduce the contentdata. For example, the internal speakers 715 may be optimized toreproduce frontal sounds, sounds originating in the front of a user,while external speakers 720 are optimized to reproduce backgroundsounds, sounds that come from behind the user. So, the mediator uses thecorrelated and aggregated data to select between the internal speakers715 and the external speakers 720 to maximize audio sounds.Additionally, similar considerations are taken into account whenreproducing video. A business rule may indicate that video contentshould be sent to a large display device, such as, for example, widescreen television 710, when multiple display devices (not shown) arepresent. The mediator selects the best display device to reproduce thevideo content by utilizing the correlated and aggregated data. Moreover,the mediator collects environment data to determine optimal lightingconditions when reproducing the audio or video content.

With reference to FIG. 4B, in an alternate embodiment of the presentinvention a mediator reproduces content based on the availability ofnetwork devices in a network environment. In S421, the mediator receivescontent from one or more content sources, and dynamically generates auser interface on a network device to display a content and device list,S422. The content list is a listing of content currently reproduced onnetwork devices in the network environment. Also, when different contentis received from the one or more content sources, the mediator generatescorrelations between the different content and provides the correlationsand content list to the network device. The device list is a listing ofall network devices that the mediator can control and automaticallyupdates when a new device enters the network environment. Aftergenerating the device list, the mediator or a user selects a device fromthe device list suitable for reproducing content listed on the contentlist in S423. Subsequently, in S424 the availability of the device ischecked. If the device is available, content is transferred to thedevice for reproduction, in S425; otherwise, a default device isselected to reproduce the content in S426. The process ends in S427.

With reference to FIG. 6, the network environment 600 implements themethod of FIG. 4B to reproduce content based on device availability.Here, the display devices 630 may receive content from a content sourcelocal or external or the network environment 600. A mediator may controlthe light devices 610 to automatically dim, and the blind devices 620 toautomatically close to create an environment suitable for displaying anight sky, including stars and a solar system on the display devices630. The mediator determines that display devices 630 are reproducingdifferent content, the night sky and the solar system, and generatescorrelations to indicate that the night sky and the solar system arerelated astronomy content. The correlations may include interactionsthat are triggered when related content is reproduced on display devices640. The mediator automatically generates a user interface on thedynamic user interface device 640 that includes the correlations and acontent list, such as, for example, a list of the planets, e.g. Mars,Neptune, etc. The user interface device 640 also includes a device list,which includes the light devices 610, the blind devices 620 and thedisplay devices 630. The user interface device 640 may control, eitherautomatically or with user intervention, the content reproduced on thedisplay devices 630 and the ambient light produced by the light devices610 and the blind devices 620. The mediator may utilize the correlationsto automatically control the user interface device 640 to select whichof the display devices 630 should reproduce the night sky. For instance,selecting Mars on the user interface device 640 triggers an interactionon the solar system to zoom-in on Mars and simultaneously utilizes thecorrelations to determine a constellation near Mars to trigger aninteraction on the night sky to display constellation near Mars.Therefore, the display device 630 that displayed the night sky displaysthe constellations near Mars and the display device 630 that displayedthe solar system displays Mars. A detailed discussion of the dynamicuser interface device 640 is provided in co-pending application Ser. No.10/743,312, docket number MFCP.108793, entitled “System and method forsharing information based on proximity,” which is herein incorporated byreference.

FIGS. 5A and 5B are flow diagrams of embodiments of the presentinvention that illustrate a method to resolve device contention and amethod to resolve content contention.

With reference to FIG. 5A, best-fit devices are located when a newdevice enters a network environment. A mediator decides which devicetakes precedence according to prescribed business rules in S511, or auser may intervene to decide the device that should take precedence.Upon making this determination, the location of content reproduced onthe device taking precedence is determined, in S512. In S513, a list ofdevices capable of reproducing the content is generated. The mediator,in S514, determines which of the devices are best-fit devices andproximate to the device having precedence. If the best-fit devices arenot proximate, the closest devices capable of reproducing the contentare selected in S516. Otherwise, in S515, the best-fit devices areselected. The process ends in S517.

The method to resolve device contention enables a mobile device leavingan old network and entering into a new network to automaticallysynchronize with the other devices in the new network. With reference toFIGS. 8-9, a mediator in network environment 800 implements the devicecontention method of FIG. 5A, when, referring to FIG. 9, a new device950 enters the network environment 800. Here, the content on the newdevice 950 is transmitted wirelessly to a display device 830 and speakerdevices 820 because they are best-fit and proximate.

Referring to FIG. 8, the network environment 800 includes a blind device620, the display device 830, speaker devices 820 and a screen device840. The display device 830 receives streaming content from a contentsource external to the network environment 800. Referring to FIG. 9,when the new device 950, which reproduces content different from thedisplay device 830, enters the network environment 800, the devicecontention method is initiated. The mediator determines whether thecontent on the new device 950 should take precedence over contentcurrently reproduced by the display device 830. Here, a business rulemay indicate that a new device entering the network has precedence. So,the content currently reproduced on the new device 950 should bereproduced on the display device 830. The mediator locates the contentcurrently reproduced by the new device 950, generates a list of best-fitand proximate devices, which include the display device 830 and thespeaker devices 820 and reproduces the content of the new device 950 onthe best fit devices, the display device 830 and the speaker devices820.

When multiple network devices, such as, the display device 830, thespeaker devices 820 and the new device 950 are streaming the samecontent the mediator creates a parent child relationship between thedevices. The device on the network from which the streaming contentoriginates, the new device 950, is considered a parent and the othernetwork devices, the speaker devices 820 and the display device 830, arechildren. Thus, stopping reproduction at a child network device, thespeaker devices 820 or the display device 830, does not stopreproduction at the parent, the new device 950, whereas stoppingreproduction at the parent, the new device 950, stops reproduction onall devices, the display device 830 and the speaker devices 820, relatedwith the parent, the new device 950.

Moreover, in an alternate embodiment of the present invention, contentcan be mixed, combined or scripted to create a multimedia presentation.For example, a token promoting a particular artist may contain licensesand links to images, videos, songs and text for that artist. A detaileddescription of this technology is provided in co-pending applicationSer. No. 11/048,203, docket number MFCP.117026, entitled “System andmethod for distributing digital content over a network,” which is hereinincorporated by reference.

With reference to FIG. 5B, another embodiment of the present inventionis a method to resolve content contention. A device, such as a displaydevice having internal speakers in a wireless network environment, mayreceive two or more streams of content simultaneously. Here, the displaydevice receives a content stream, in S521, from a first content sourceand a notification stream, in S522, which may be from a notificationdevice, such as for example, a door bell or a second content source. Thefirst and second content sources may be devices local or external to thenetwork environment. The notification stream may be a video, an audio ora textual message. The mediator may automatically resolve all contentcontention or a user may be queried to resolve a specified subset ofcontent contention. In S523, the mediator may determine whether thenotification stream should be ignored, based on pre-configured businessrules or based on values assigned, by the mediator, to the notificationstream and the content stream. For example, a business rule may specifythat a notification stream, received during a specified time period, beignored. Accordingly, the mediator automatically ignores notificationstreams received during the specified time period. If the mediatorreceives the notification stream at a time outside of the specified timeperiod, the mediator may compare a value assigned to the notificationstream and a value assigned to the content stream to determine whichstream is more important. Alternatively, the mediator may bepre-configured to query a user to resolve contention between contentstored, originating, locally and content stored, originating,externally. In S523, if the mediator determines that the notificationstream is assigned a large value, indicating high importance and shouldnot be ignored, the notification stream is reproduced along with thecontent currently reproduced or replacing the content currentlyreproduced on the display device in S524. Additionally, when reproducingthe notification stream the mediator may adjust the audio level or thedisplay size of the notification stream according to the importance ofthe notification stream in S525 and S524. The process ends in S526.

In sum, embodiments of the present invention generate content-content,content-device relationships and device-device relationships and utilizethe generated relationships to automatically create a suitableenvironment that maximizes a user's enjoyment when reproducing content.The foregoing descriptions of the invention are illustrative, andmodifications in configuration and implementation will occur to personsskilled in the art. For instance, while the present invention hasgenerally been described with relation to FIGS. 1-9, those descriptionsare exemplary. Accordingly, the scope of the invention is to be limitedonly by the following claims.

1. A method for mining relationships between multimedia content and aplurality of devices, the method comprising: receiving multimediacontent information; receiving device information; and correlating themultimedia content information and the device information to determine abest-fit device to reproduce the multimedia content.
 2. The methodaccording to claim 1, wherein the relationships include parent childrelationships between the plurality of devices.
 3. The method accordingto claim 1, wherein the plurality of devices include wireless devices.4. The method according to claim 1, wherein a best fit device is a groupof devices of the plurality of devices capable of reproducing thecontent.
 5. The method according to claim 1, wherein the relationshipsspecify which device controls reproduction.
 6. A computer system havinga processor, a memory, and an operating environment, the computer systemoperable to execute the method recited in claim
 1. 7. Acomputer-readable medium having computer-executable components, thecomputer-readable medium comprising: a ranking component to assignvalues, indicating importance, to content and a plurality of devices; alistening component to receive device offerings and content preferencesand to compile the device offerings and the content preferences; and acontrol component to specify a level of user intervention.
 8. Thecomputer-readable medium according to claim 7, further comprising: anarbitration component to resolve device or content contention.
 9. Thecomputer-readable medium according to claim 7, wherein the rankingcomponent assigns values based on business rules.
 10. Thecomputer-readable medium according to claim 7, wherein the level of userintervention is set to zero.
 11. The computer-readable medium accordingto claim 7, wherein the listening component collects network environmentdata.
 12. The computer-readable medium according to claim 8, wherein thearbitration component automatically selects a device to reproduce thecontent.
 13. The computer-readable medium according to claim 8, whereinthe arbitration component automatically selects content to be reproducedon a group of devices of the plurality of devices.
 14. Thecomputer-readable medium according to claim 12, wherein the arbitrationcomponent determines the precedence of the device using values assignedby the ranking component.
 15. A communication network having a pluralityof communication devices capable of transferring content wirelessly, thecommunication network comprising: a first communication device toreceive streaming content; a second communication device to receivecontent different from the content streaming to the first communicationdevice; and a mediator to determine whether the streaming content shouldtake precedence over the content different from the content streaming onthe first communication device.
 16. The communication network of claim15, further comprising: a third communication device that is connectedto a non-intelligent device.
 17. The communication network of claim 15,wherein the content different from the content streaming to the firstcommunication device is a notification stream.
 18. The communicationnetwork of claim 15, wherein the first communication device receivescontent from the Internet.
 19. The communication network of claim 16,further comprising: a fourth communication device that dynamicallygenerates a user interface.
 20. The communication network of claim 15,wherein the mediator is distributed across the first and secondcommunication devices.